
# 写一个猜拳游戏: 石头，剪刀，布，
# 让电脑随机生成一个，
# 你的输入如下:
#     0)  石头
#     1)  剪刀
#     2)  布
#     q)  退出
#     请选择: 0
#    电脑出的是 布 ，你输了
# 循环输入，知道输入q 为止

import random

def caiquan_menu():
    print('+---------------+')
    print('|   0)  石头     |')
    print('|   1)  剪刀     |')
    print('|   2)  布       |')
    print('|   q)  退出     |')
    print('+---------------+')

def caiquan():
    '''
    用 if 来判断 结果
    '''
    signals = ['石头', '剪刀', '布']  # 手势
    while True:
        compute_index = random.randint(0, 2)
        compute_signal = signals[compute_index]
        caiquan_menu()
        s = input('请选择：')
        if s == 'q':
            break
        try:
            user_index = int(s)
            if user_index > 2 or user_index < 0:
                continue
        except ValueError:
            continue
        user_signal = signals[user_index]  # 用户选择的
        result = 0   # 0 代表平手，1 代表用户赢，-1 代表用户输
        if compute_signal == '石头':
            if user_signal == '布':
                result = 1  # 用户赢
            elif user_signal == '剪刀':
                result = -1 # 用户输
        elif compute_signal == '剪刀':
            if user_signal == '石头':
                result = 1  # 用户赢
            elif user_signal == '布':
                result = -1 # 用户输
        elif compute_signal == '布':
            if user_signal == '剪刀':
                result = 1  # 用户赢
            elif user_signal == '石头':
                result = -1 # 用户输

        if result == 1:
            result_str = '你赢了'
        elif result == -1:
            result_str = '你输了'
        else:
            result_str = '平手'

        print('电脑出的是', compute_signal, '你出的是', user_signal, result_str)
        import time
        time.sleep(2)

def caiquan2():
    '''
    把结果写在字典内
    '''
    dict_result = {
        # (用户出的手势，电脑出的手势）： 结果
        ('石头', '石头') : 0,   # 0 代表平手
        ('石头', '布') : -1,    # -1 代表输
        ('石头', '剪刀') : 1,   # 0 代表赢
        ('剪刀', '石头') : -1,
        ('剪刀', '布') :  1,
        ('剪刀', '剪刀') : 0,
        ('布', '石头'): 1,
        ('布', '布'): 0,
        ('布', '剪刀'): -1,
    }
    signals = ['石头', '剪刀', '布']  # 手势
    while True:
        compute_index = random.randint(0, 2)
        compute_signal = signals[compute_index]
        caiquan_menu()
        s = input('请选择：')
        if s == 'q':
            break
        try:
            user_index = int(s)
            if user_index > 2 or user_index < 0:
                continue
        except ValueError:
            continue
        user_signal = signals[user_index]  # 用户选择的
        result = dict_result[(user_signal, compute_signal)]    # 0 代表平手，1 代表用户赢，-1 代表用户输

        if result == 1:
            result_str = '你赢了'
        elif result == -1:
            result_str = '你输了'
        else:
            result_str = '平手'

        print('电脑出的是', compute_signal, '你出的是', user_signal, result_str)
        import time
        time.sleep(2)



# 写一个猜数字游戏 让电脑随机生成一个 0 ~ 100 的整数让用来猜
# 如果 您输入的数大于电脑生产的数，提示：“您猜大了”， 继续猜
# 如果 您输入的数小于电脑生产的数，提示：“您猜小了”， 继续猜
# 当 您输入的数等于电脑生产的数，提示："恭喜您猜对了" 打印猜的次数后退出程序

def guess_number():
    x = random.randint(0, 100)   # 让电脑随机生成一个数
    while True:
        try:
            y = int(input("请输入："))
        except ValueError:
            print("您的输入有误，请继续")
            continue
        if y > x:
            print("您猜大了")
        elif y < x:
            print("您猜小了")
        else:
            print('恭喜您猜对了')
            break

if __name__ == '__main__':
    # caiquan2()
    guess_number()




